package com.ruoyi.iot.service;

import com.ruoyi.iot.domain.entity.DeviceThresholdConfig;
import java.util.List;
import java.util.Map;

/**
 * 阈值与权重配置服务
 */
public interface DeviceThresholdConfigService {

    /**
     * 查询全部阈值配置。
     *
     * @return 阈值配置列表
     */
    List<DeviceThresholdConfig> listAll();

    /**
     * 查询阈值配置（含指标中文名称），用于分页展示。
     *
     * @param query 查询条件
     * @return 包含 metricLabel 的结果集合
     */
    List<Map<String, Object>> pageWithMetricLabel(DeviceThresholdConfig query);

    /**
     * 根据设备查询阈值配置。
     *
     * @param deviceId 设备编号，null 表示全局
     * @return 阈值配置列表
     */
    List<DeviceThresholdConfig> listByDevice(String deviceId);

    /**
     * 新增阈值配置。
     *
     * @param config 阈值配置
     * @return 影响行数
     */
    int create(DeviceThresholdConfig config);

    /**
     * 修改阈值配置。
     *
     * @param config 阈值配置
     * @return 影响行数
     */
    int update(DeviceThresholdConfig config);

    /**
     * 删除阈值配置。
     *
     * @param id 主键ID
     * @return 影响行数
     */
    int delete(Long id);
}
